op {
  name: "ExperimentalGroupByReducerDataset"
  input_arg {
    name: "input_dataset"
    type: DT_VARIANT
  }
  input_arg {
    name: "key_func_other_arguments"
    type_list_attr: "Tkey_func_other_arguments"
  }
  input_arg {
    name: "init_func_other_arguments"
    type_list_attr: "Tinit_func_other_arguments"
  }
  input_arg {
    name: "reduce_func_other_arguments"
    type_list_attr: "Treduce_func_other_arguments"
  }
  input_arg {
    name: "finalize_func_other_arguments"
    type_list_attr: "Tfinalize_func_other_arguments"
  }
  output_arg {
    name: "handle"
    type: DT_VARIANT
  }
  attr {
    name: "key_func"
    type: "func"
  }
  attr {
    name: "init_func"
    type: "func"
  }
  attr {
    name: "reduce_func"
    type: "func"
  }
  attr {
    name: "finalize_func"
    type: "func"
  }
  attr {
    name: "Tkey_func_other_arguments"
    type: "list(type)"
    has_minimum: true
  }
  attr {
    name: "Tinit_func_other_arguments"
    type: "list(type)"
    has_minimum: true
  }
  attr {
    name: "Treduce_func_other_arguments"
    type: "list(type)"
    has_minimum: true
  }
  attr {
    name: "Tfinalize_func_other_arguments"
    type: "list(type)"
    has_minimum: true
  }
  attr {
    name: "output_types"
    type: "list(type)"
    has_minimum: true
    minimum: 1
  }
  attr {
    name: "output_shapes"
    type: "list(shape)"
    has_minimum: true
    minimum: 1
  }
  is_stateful: true
}
